package com.sg.hms.Dao;

import net.sf.json.JSONArray;

import java.util.List;

import com.sg.hms.Model.Employee;

public interface EmployeeDao {
	/**
	 * 通过员工号获得员工信息
	 * @param elId员工号
	 * @return 员工对象
	 */
    public Employee selectEmployeeByElId(int elId);
    /**
<<<<<<< HEAD
     * 根据部门的名字获得其下面的员工
     * @param dName
     * @return 返回与部门下面的员工
     */
    public JSONArray selectEmployeeBydName(String dName);
     /*
     * 分页查询员工信息
     * @param rows 按每页多少条查询
     * @param start 每页的第一条位置
     * @return List<Employee>
     */
    public List<Employee> selectEmployeeByGroup(int rows,int start);
    /**
     * 按姓名查询员工信息
     * @param rows 按每页多少条查询
     * @param start 每页的第一条位置
     * @param searchName 搜索的关键字
     * @return List<Employee>
     */
    public List<Employee> selectEmployeeByGroup(int rows,int start,String searchName);
    /**
     * 获取员工总数量
     * @return 员工总数量
     */
    public int selectEmployeeCount();
    /**
     * 获取符合搜索条件员工的总数量
     * @param searchName 搜索关键字
     * @return 符合搜索条件员工的总数量
     */
    public int selectEmployeeCount(String searchName);
    /**
     * 增加前台获取的员工的信息
     * @return 1增加成功，0增加失败
     */
    public int addEmployee(Employee em);
    /**
     * 修改员工信息
     * @param em 员工对象
     * @return 1修改成功，0修改失败
     */
    public int upEmployee(Employee em);
    /**
     * 删除员工信息
     * @param elId 员工Id
     * @return 1删除成功，0删除失败
     */
    public int delEmployee(int elId);
    /**
     * 员工信息排序
     * @param sort 排序的列
     * @param order asc和desc
     * @param start 分页开始的位置
     * @param rows 每页的数据数
     * @return
     */
    public List<Employee> SortEmpl(String sort,String order,int start,int rows);
    /**
     * 修改个人资料
     * @param em 员工对象
     * @return 1修改成功，0失败
     */
    public int personalUp(Employee em);
    /**
     * 按员工姓名或部门查询后可排序
     * @param searchName 查询的关键字
     * @param sort 按什么排序
     * @param order 升序还是降序
     * @param start  分页开始的位置
     * @param rows 每页的数据数
     * @return
     */
    public List<Employee> SortEmpl(String searchName,String sort,String order,int start,int rows);
}
